<?php

declare(strict_types=1);

return [

    /*
    |--------------------------------------------------------------------------
    | Aggressive Prefetching
    |--------------------------------------------------------------------------
    |
    | This option allows you to enable aggressive prefetching for your
    | application. It improves front-end load times and user experience.
    |
    | Enabled by default.
    |
    */

    NunoMaduro\Essentials\Configurables\AggressivePrefetching::class => true,

    /*
    |--------------------------------------------------------------------------
    | Automatically Eager Load Relationships
    |--------------------------------------------------------------------------
    |
    | This option allows you to automatically eagerly load relationships
    | for your models. It reduces N+1 query issues and improves
    | performance without needing with() everywhere.
    |
    | Enabled by default.
    |
    | Note: This option is only available in Laravel 12.8 and above.
    |
    */

    NunoMaduro\Essentials\Configurables\AutomaticallyEagerLoadRelationships::class => true,

    /*
    |--------------------------------------------------------------------------
    | Fake Sleep when running tests
    |--------------------------------------------------------------------------
    |
    | This option allows you to fake sleep when running tests. When
    | enabled, the framework will fake sleep for all tests.
    |
    | Enabled by default.
    |
    */

    NunoMaduro\Essentials\Configurables\FakeSleep::class => true,

    /*
    |--------------------------------------------------------------------------
    | Force HTTPS scheme
    |--------------------------------------------------------------------------
    |
    | This option allows you to force the HTTPS scheme for your
    | application. When enabled, all URLs generated by the Laravel
    | will use the HTTPS scheme.
    |
    | Enabled by default.
    |
    */

    NunoMaduro\Essentials\Configurables\ForceScheme::class => true,

    /*
    |--------------------------------------------------------------------------
    | Per-environment overrides
    |--------------------------------------------------------------------------
    |
    | Specify environments for which each configurable should be active.
    |
    */

    'environments' => [
        NunoMaduro\Essentials\Configurables\ForceScheme::class => ['production'],
    ],

    /*
    |--------------------------------------------------------------------------
    | Immutable Carbon Dates
    |--------------------------------------------------------------------------
    |
    | This option allows you to make all Carbon dates immutable in
    | your application. When enabled, all date functions will
    | return CarbonImmutable instances instead of Carbon.
    |
    | Enabled by default.
    |
    */

    NunoMaduro\Essentials\Configurables\ImmutableDates::class => true,

    /*
    |--------------------------------------------------------------------------
    | Prevent Stray Requests when running tests
    |--------------------------------------------------------------------------
    |
    | This option allows you to prevent stray requests when running
    | tests. When enabled, the framework will prevent requests
    | from being sent during tests unless faked.
    |
    | Enabled by default.
    |
    */

    NunoMaduro\Essentials\Configurables\PreventStrayRequests::class => true,

    /*
    |--------------------------------------------------------------------------
    | Prohibit Destructive Commands
    |--------------------------------------------------------------------------
    |
    | This option allows you to prohibit destructive commands
    | from being run in your application. When enabled, the
    | framework will prevent commands that could potentially
    | destroy data from being run in your application.
    |
    | Enabled by default.
    |
    */

    NunoMaduro\Essentials\Configurables\ProhibitDestructiveCommands::class => true,

    /*
    |--------------------------------------------------------------------------
    | Set Default Password complexity
    |--------------------------------------------------------------------------
    |
    | This option sets the default password complexity for your
    | application to be at least 12 characters long, maximum
    | 255 characters long, and not compromised.
    |
    | Enabled by default.
    |
    */

    NunoMaduro\Essentials\Configurables\SetDefaultPassword::class => true,

    /*
    |--------------------------------------------------------------------------
    | Model should be strict
    |--------------------------------------------------------------------------
    |
    | This option allows you to enable strict mode for your
    | application. It will prevent lazy loading, silently discarding
    | attributes and prevents accessing missing attributes.
    |
    | Enabled by default.
    |
    */

    NunoMaduro\Essentials\Configurables\ShouldBeStrict::class => true,

    /*
    |--------------------------------------------------------------------------
    | Unguard models
    |--------------------------------------------------------------------------
    |
    | This option allows you to enable unguard mode for your
    | models. When enabled, the framework will unguard
    | all models, allowing you to mass assign any attributes.
    |
    | Disabled by default.
    |
    */

    NunoMaduro\Essentials\Configurables\Unguard::class => false,

];
